package com.itrencai.d21_dom4j;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.junit.Test;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

public class Dom4JTest2 {
    @Test
    public static void parseToList() throws Exception {
        //解析xml中的数据成为一个List集合对象
        //1.导入框架
        //2.创建SAXReader解析对象
        SAXReader saxReader=new SAXReader();
        //3.加载xml文件成为文档对象Document对象
        Document document =saxReader.read(new File(
                "E:\\javalearn\\opp-app\\oop-app\\src\\com\\itrencai\\d21_dom4j\\Contacts.xml"));
//        Document document=saxReader.read(Dom4JTest2.class.getResourceAsStream("/Contacts.xml"));
        //4.先拿根元素
        Element root=document.getRootElement();
        //5.提取contract子元素
        List<Element> contractEles=root.elements("contact");
        //6.准备一个ArrayList集合封装联系人信息
        List<Contract> contacts=new ArrayList<>();
        //7.遍历contract子元素
        for (Contract contactEle : contacts) {
            //8.每个子元素都是一个联系人对象
            Contract contract=new Contract();
//            contract.setId(Integer.valueOf(contractEles.attributeValue("id")));
//            contract.setVip(Boolean.valueOf(contractEles.attributeValue("vip")));

//            contract.setName(contactEle.elementTextTrim("name"));
//            contract.setGender(contactEle.elementTextTrim("gender").charAt(0));
//            contract.setEmail(contactEle.elementText("gender"));
            //9.把联系人对象数据加入到List集合
            contacts.add(contract);
        }
        //10.遍历List集合
        for (Contract contact : contacts) {
            System.out.println(contact);
        }




    }
}
